package com.szcinda.service.dto.user;

import com.szcinda.repository.User;
import com.szcinda.service.dto.user.UpdatePWDDto;
import com.szcinda.service.dto.user.UserCreateDto;
import com.szcinda.service.dto.user.UserIdentity;
import com.szcinda.service.dto.user.UserUpdateDto;

import java.util.List;

public interface UserService {
    User findUserById(String id);

    void create(UserCreateDto createDto);

    void update(UserUpdateDto updateDto);

    void delete(String id, String opId);

    void updatePwd(UpdatePWDDto pwdDto);

    UserIdentity findIdentity(String username, String password);

    List<UserDto> getOrgUsers(String organizationId);

    String getToken(String userId, String password);

    boolean isAdmin(String id);

    void initAdmin();

    void resetPwd(UpdatePWDDto updateDto);

    void logout(String userId);
}
